#ifndef __SCNS_GYRO_QUATERNION_SIX_AXES_EKF_H__
#define __SCNS_GYRO_QUATERNION_SIX_AXES_EKF_H__

#include "ScnsConfig.h"

#if defined(SCNS_GYRO_QUATERNION_SIX_AXES_EKF_ENABLE)&&SCNS_GYRO_QUATERNION_SIX_AXES_EKF_ENABLE==1

#include "ScnsYing.h"
#include "ScnsGyroType.h"

typedef struct
{
    float q[4][1];
    float P[4][4];
}ScnsGyroQuaternionSixAxesEkf;

extern void scnsGyroQuaternionSixAxesEkfInit(ScnsGyroQuaternionSixAxesEkf*rd);
extern void scnsGyroQuaternionSixAxesEkf(const ScnsGyroSource*data,ScnsGyroQuaternionSixAxesEkf*rd,float dt);
extern ScnsStatus scnsGyroQuaternionSixAxesEkfTest(void);

#endif
#endif
